package appfuse.framework.util;

import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;

/** @author Administrator */
public class SecurityFactory {
    /*
      * BASE64工厂方法
      */
    /**
     * 对字节进行BASE64加密，默认UTF-8编码
     *
     * @param b
     *
     * @return
     */
    public static String BASE64Encode(byte[] b) {
        return BASE64Encode(b, "UTF-8");
    }

    /**
     * 对字节进行BASE64加密
     *
     * @param b
     * @param charset
     *
     * @return
     */
    public static String BASE64Encode(byte[] b, String charset) {
        return BASE64Encrypt.encode(b, "UTF-8");
    }

    /**
     * 对字符串BASE64加密，默认UTF-8编码
     *
     * @param s
     *
     * @return
     */
    public static String BASE64Encode(String s) {
        return BASE64Encode(s, "UTF-8");
    }

    /**
     * 对字符串BASE64加密
     *
     * @param s
     * @param charset
     *
     * @return
     */
    public static String BASE64Encode(String s, String charset) {
        return BASE64Encrypt.encode(s, charset);
    }

    /**
     * 对字节进行BASE64解密，默认UTF-8编码
     *
     * @param b
     *
     * @return
     */
    public static String BASE64Decode(byte[] b) {
        return BASE64Decode(b, "UTF-8");
    }

    /**
     * 对字节进行BASE64解密
     *
     * @param b
     * @param charset
     *
     * @return
     */
    public static String BASE64Decode(byte[] b, String charset) {
        return BASE64Encrypt.decode(b, charset);
    }

    /**
     * 对字符串进行BASE64解密，默认UTF-8编码
     *
     * @param s
     *
     * @return
     */
    public static String BASE64Decode(String s) {
        return BASE64Decode(s, "UTF-8");
    }

    /**
     * 对字符串进行BASE64解密
     *
     * @param s
     * @param charset
     *
     * @return
     */
    public static String BASE64Decode(String s, String charset) {
        return BASE64Encrypt.decode(s, charset);
    }
}
